package com.hqyj.smvc.mapper;

import com.hqyj.smvc.pojo.Employee;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository("employeeMapper")
public interface EmployeeMapper {

    //分页查询
    List<Employee> selectEmployeeList();

    //添加用户
    Integer insert(Employee row);

    //登录查询
    Employee selectEmployee(Employee employee);

    //修改雇员身份
    int updateEmployeeInformation(Employee employee);

    //查询没有身份证到的雇员
    List<Employee> selectNoIdcard();

    //根据身份证id删除雇员
    int deleteEmployee(int i);

    //按照身份证id查找雇员
    Employee selectEmployeeId(int id);

    //按照公司id查找属于此公司的员工
    List<Employee> selectCompanyEmployee(int companyId);

    //根据公司id删除雇员
    int deleteCompanyEmployee(int i);

    //删除公司是会删除雇员，删除雇员时，会删除身份证，
    //根据公司id查找雇员的身份证id
    List<Employee> selectCompanyEmployeeIdcard(int company_id);

    //雇员表为主删除功能
    //删除雇员后删除对应的身份证
    int deleteEmployeeIdcard(int employee_id);

    //根据雇员id查找身份证id
    Employee selectIdcardId(int id);

    //按照id查找雇员其他信息
    Employee selectInformation(int id);

    //修改雇员信息
    int updateEmployee(Employee employee);

    //添加一个雇员
    int insertEmployee(Employee employee);

    /**
     * 根据角色id查找雇员
     * @param id
     * @return
     */
    List<Employee> roleIdEmployee(int id);
}